var api = require('../../../config/api.js');
var util = require('../../../utils/util.js');
var user = require('../../../utils/user.js');
var ImTools = require('../../../utils/imTools.js')

var app = getApp();
Page({
  data: {

    canIUseGetUserProfile: false,
    StaticUrl: api.StaticUrl,
    isChecked: false,
    protocolUrl: api.protocol,
    privacyUrl: api.privacy,
  },
  onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
    // 页面渲染完成
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  onReady: function () {

  },
  onShow: function () {
    // 页面显示
  },
  onHide: function () {
    // 页面隐藏

  },
  onUnload: function () {
    // 页面关闭

  },
  wxLogin: function (e) {
    if (!this.data.isChecked) {
      util.showErrorToast('请阅读并同意用户协议');
      return;
    } else {
      if (this.data.canIUseGetUserProfile) {
        wx.getUserProfile({
          desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
          success: (res) => {
            this.doLogin(res.userInfo)
          },
          fail: () => {
            util.showErrorToast('微信登录失败');
          }
        })
      } else {
        if (e.detail.userInfo == undefined) {
          app.globalData.hasLogin = false;
          util.showErrorToast('微信登录失败');
          return;
        }
        this.doLogin(e.detail.userInfo)
      }
    }

  },
  doLogin: function (userInfo) {
    let that = this;
    wx.showLoading({
      title: '加载中...',
    })
    user.checkLogin().then(() => {
      wx.hideLoading();
      wx.navigateBack({
        delta: 1
      })
    }).catch(() => {
      if (userInfo.nickName == '微信用户') {
        userInfo.avatarUrl = '';
        userInfo.nickName = '';
      }
      user.loginByWeixin(userInfo).then(res => {
        wx.hideLoading();
        app.globalData.hasLogin = true;
        //初始化IM
        //that.imInit();


        try {
          var pages = getCurrentPages();
          var prevPage = pages[pages.length - 2]; //上一个页面
          prevPage.setData({ // 这里是需要传递的参数值
            isLoginBack: 1,
          })
        } catch (e) {
          console.error(e);
        }

        wx.navigateBack({
          delta: 1
        })

      }).catch((err) => {
        wx.hideLoading();
        app.globalData.hasLogin = false;
        util.showErrorToast('微信登录失败');
      });

    });
  },

  checkedChange() {
    this.setData({
      isChecked: !this.data.isChecked
    })

  },
  handleCancel() {
    wx.navigateBack({
      delta: 1
    });
  }
})